package vns.client.service;

import java.util.ArrayList;
import java.util.List;

import vns.shared.RuleParamDTO;
import vns.shared.ObjectPropertyTypeDTO;
import vns.shared.ObjectTypeDTO;

import com.google.appengine.api.datastore.Key;
import com.google.gwt.user.client.rpc.AsyncCallback;

public interface ObjectTypeServiceAsync {

	void Create(ObjectTypeDTO otypeDTO, AsyncCallback<ObjectTypeDTO> callback);

	void Remove(Key id, AsyncCallback<Boolean> callback);

	void Loadbyid(Key id, AsyncCallback<ObjectTypeDTO> callback);

	void Update(ObjectTypeDTO otypeDTO, AsyncCallback<ObjectTypeDTO> callback);

	void Loadall(ObjectPropertyTypeDTO optype,AsyncCallback<ArrayList<ObjectTypeDTO>> callback);

	void Updateall(List<ObjectTypeDTO> listNew,
			ObjectPropertyTypeDTO optypeDTO, AsyncCallback<Void> callback);

	void Loadall(AsyncCallback<ArrayList<ObjectTypeDTO>> callback);

	void Loadall(ObjectTypeDTO otypeDTO,
			AsyncCallback<ArrayList<ObjectPropertyTypeDTO>> callback);

	void Updateall(List<ObjectTypeDTO> listNew, AsyncCallback<Void> callback);


}
